-
Notifications
You must be signed in to change notification settings - Fork 1.2k
updates for ebpf / full host profiling #29270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Preview links (active after the
|
Created an editorial card for in-depth docs review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, left a couple comments! 🙇
Co-authored-by: Nayef Ghattas <11560964+Gandem@users.noreply.github.com>
Co-authored-by: Nayef Ghattas <11560964+Gandem@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good! Left a few edits and suggestions. Let me know if you have any questions. Thanks! 🚀
code_lang: ebpf | ||
type: multi-code-lang | ||
code_lang_weight: 90 | ||
aliases: | ||
- /tracing/profiler/enabling/ebpf/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
code_lang: ebpf | |
type: multi-code-lang | |
code_lang_weight: 90 | |
aliases: | |
- /tracing/profiler/enabling/ebpf/ | |
private: true |
Let's remove this for now so we can make the page private.
@@ -0,0 +1,107 @@ | |||
--- | |||
title: Enabling the eBPF Profiler |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
title: Enabling the eBPF Profiler | |
title: Enabling the Full-Host Profiler |
What do you think about framing this as this as the full host profiler instead of eBPF?
<div class="alert alert-warning"> | ||
<code>ebpf</code> is in beta. Datadog recommends evaluating the profiler in a non-sensitive environment before deploying in production. | ||
</div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<div class="alert alert-warning"> | |
<code>ebpf</code> is in beta. Datadog recommends evaluating the profiler in a non-sensitive environment before deploying in production. | |
</div> | |
{{< callout url="" btn_hidden="true" header="Try the Full-Host Profiler Preview!">}} | |
The Full-Host Profiler is in Preview. | |
{{< /callout >}} |
<code>ebpf</code> is in beta. Datadog recommends evaluating the profiler in a non-sensitive environment before deploying in production. | ||
</div> | ||
|
||
The eBPF profiler is our eBPF-based host profiler built on OpenTelemetry and designed to send profiling data to the Datadog backend via the Datadog Agent. It supports symbolication for compiled languages and is optimized for containerized environments like Docker and Kubernetes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The eBPF profiler is our eBPF-based host profiler built on OpenTelemetry and designed to send profiling data to the Datadog backend via the Datadog Agent. It supports symbolication for compiled languages and is optimized for containerized environments like Docker and Kubernetes. | |
The Full-Host Profiler is an eBPF-based profiling solution built on OpenTelemetry that sends profiling data to Datadog using the Datadog Agent. It supports symbolication for compiled languages and is optimized for containerized environments such as Docker and Kubernetes. | |
### Use cases | |
The Full-Host Profiler is particularly valuable for: | |
- Profiling open-source software components that aren't instrumented with Datadog's tracing libraries. | |
- Analyzing performance across multi-language processes and runtimes. | |
- Identifying resource bottlenecks at the host level, including detection of noisy neighbor processes. | |
I think a use cases section would be helpful. What do you think?
: TBD | ||
|
||
Debugging information | ||
: Symbols should be available locallly or can be uploaded in CI via `datadog-ci` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
: Symbols should be available locallly or can be uploaded in CI via `datadog-ci` | |
: Symbols should be available locallly or can be uploaded in CI with `datadog-ci` |
|
||
## Not sure what to do next? | ||
|
||
The [Getting Started with Profiler][6] guide takes a sample service with a performance problem and shows you how to use Continuous Profiler to understand and fix the problem. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The [Getting Started with Profiler][6] guide takes a sample service with a performance problem and shows you how to use Continuous Profiler to understand and fix the problem. | |
After installing the Full-Host Profiler, see the [Getting Started with Profiler][6] to learn how to use Continuous Profiler to identify and fix performance problems. |
|
||
TBD | ||
|
||
## Not sure what to do next? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
## Not sure what to do next? | |
## What's next? |
|
||
The [Getting Started with Profiler][6] guide takes a sample service with a performance problem and shows you how to use Continuous Profiler to understand and fix the problem. | ||
|
||
## Further Reading |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
## Further Reading | |
## Further reading |
|
||
{{< partial name="whats-next/whats-next.html" >}} | ||
|
||
[2]: shttps://github.com/DataDog/dd-otel-host-profiler/releases/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[2]: shttps://github.com/DataDog/dd-otel-host-profiler/releases/ | |
[2]: https://github.com/DataDog/dd-otel-host-profiler/releases/ |
@@ -17,8 +17,8 @@ The following tables summarize the features available for each language runtime. | |||
|
|||
To use the Datadog Profiler, use at least the minimum versions summarized in the following table. For specific profile type availability by version, see [Profile types](#profile-types). | |||
|
|||
| | [Java][1] | [Python][2] | [Go][3] | [Ruby][4] | [Node.js][5] | [.NET][6] | [PHP][7] | [Rust/C/C++][8] | | |||
|-----------------------------------|:------------:|:----------------:|:-------------:|:--------------:|:-------------:|:-----------------------------------------------------------------------:|:-------------:|:---------------:| | |||
| | [Java][1] | [Python][2] | [Go][3] | [Ruby][4] | [Node.js][5] | [.NET][6] | [PHP][7] | [Rust/C/C++][8] | [eBPF][9] | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we want to make this page private, we should note that this is in Preview here or remove it for now.
What does this PR do? What is the motivation?
This PR is to add documentation for our new profiler: eBPF / full host. This includes general explanations, set up instructions, and troubleshooting.
Merge instructions
Merge readiness:
For Datadog employees:
Merge queue is enabled in this repo. Your branch name MUST follow the
<name>/<description>
convention and include the forward slash (/
). Without this format, your pull request will not pass in CI, the GitLab pipeline will not run, and you won't get a branch preview. Getting a branch preview makes it easier for us to check any issues with your PR, such as broken links.If your branch doesn't follow this format, rename it or create a new branch and PR.
To have your PR automatically merged after it receives the required reviews, add the following PR comment:
Additional notes